package com.briup.bookstore.common.model.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类 - 用户
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class User implements Serializable {

    /* 实体属性 */
    /**
     * 主键ID
     */
	private Integer id;
    /**
     * 账号
     */
	private String username;
    /**
     * 密码
     */
	private String password;
    /**
     * 电话
     */
	private String phone;
    /**
     * 头像地址
     */
	private String avatar;
    /**
     * 性别
     */
	private Integer gender;
    /**
     * 用户状态
     */
	private Integer status;
    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
	private Date birthday;
    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
	private Date registerTime;
    /**
     * 角色ID
     */
	private Integer roleId;
    /**
     * VIP状态（0-普通用户，1-VIP会员）
     */
	private Integer vip;
    /**
     * VIP过期时间
     */
	private Date vipExpirationTime;
    /**
     * 默认收货地址ID
     */
	private Integer defaultAddressId;



	/* ***** 扩展属性（用于传递参数） ***** */
    /**
     * 查询起始时间
     */
	private Date startTime;
    /**
     * 查询结束时间
     */
	private Date endTime;
}
